package com.tiny.tinyweb.core.exception;

import org.springframework.core.NestedExceptionUtils;


/**
 * 基于{@link Exception}的业务逻辑异常基类。该异常由前端捕获并统一处理。
 * @author wxiaobin
 */
public class BizException extends Exception {

    private static final long serialVersionUID = 1L;

    static {
        NestedExceptionUtils.class.getName();
    }

    /**
     * 指定异常消息的构造器。
     * @param message 异常消息
     */
    public BizException(String message) {
        super(message);
    }

    /**
     * 指定异常消息和异常起因对象的构造器。
     * @param message 异常消息
     * @param cause 异常起因对象
     */
    public BizException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 取得详细的异常消息。
     * @return 异常消息
     */
    @Override
    public String getMessage() {
        return NestedExceptionUtils.buildMessage(super.getMessage(), getCause());
    }
}
